package com.baizhi.collectionx;

import java.util.ArrayList;
import java.util.Collection;

/**
 * java.util.Collection接口
 *
 * Collection是一个接口，规定了集合都应当具备的相关功能，下面有众多的实现了，实现类各具特点，但是都具备Collection提供的功能（方法）
 * 比较常见的两类集合
 * java.util.List接口：继承了Collection， 这一类集合的特点是有序的，可以存放重复的元素
 * java.util.Set接口,继承了Collection ，这一类集合的特点是无序的，不能存放重复的元素
 */
public class CollectionDemo {
    public static void main(String[] args) {
        //向上造型
        Collection c = new ArrayList();

        /*
          boolean  add(Object o)
          想当前集合添加一个元素，元素添加成功之后返回true,
          注意：集合只能添加引用数据类型，存放基本数据类型的时候会触发自动装箱机制，将基本数据类型转换为包装类的引用数据类型
         */
        c.add("one");
        c.add("two");
        c.add("three");
        c.add("four");
        c.add("five");

        System.out.println(c);

        /*
            int size()
            返回当前集合的元素个数
         */
        System.out.println(c.size());

        /*
           boolean  isEmpty();
           判断当前集合是否为空集合
         */
        boolean empty = c.isEmpty();
        System.out.println(empty); //false

        /*
         void clear()
         清空集合
         */
        c.clear();
        System.out.println(c.isEmpty());
        System.out.println(c.size());
    }
}
